草庐IT

Java Quartz 作业持久化

全部标签

hadoop - 是否可以使用多个 jar 来指定 hadoop 中的作业?

我通常在不同的jar文件中有公共(public)/共享库和实际工作代码。是否可以只重新编译一个jobjar文件来执行hadoop命令hadoopjarasd?如果没有,是否有简化jar包装的解决方法? 最佳答案 我正在使用Ant来制作作业jar。要在buildConfig.xml文件中包含所有公共(public)/共享库,您必须添加以下行:这是构建配置文件的最简单示例。 关于hadoop-是否可以使用多个jar来指定hadoop中的作业?,我们在StackOverflow上找到一个类似的

hadoop - 当示例在 hadoop 0.23.0 上运行时作业挂起

我正在尝试在hadoop0.23.0中添加容量调度程序,并尝试运行一个示例pi、randomwriter程序。所有守护进程都已启动且工作正常,但作业已挂起并且不再显示任何输出。我看不到它们累积的日志。任何人都可以让我知道这个作业挂起的原因,以及日志的存储位置。2012-06-0818:41:06,118INFOmapred.YARNRunner(YARNRunner.java:createApplicationSubmissionContext(355))-CommandtolaunchcontainerforApplicationMasteris:$JAVA_HOME/bin/jav

hadoop - 这是从命令行启动 hadoop 作业的唯一方法吗?

我现在在伪分布式模式下使用hadoop。我尝试了一些mapreduce,将其打包为jar,并将文件复制到hadoop。然后使用./bin/hadoopjar*启动它。我的问题是:是否有任何其他方式可以做到这一点?如果我们有数千个作业要运行。我们不能只输入命令。我们在生产环境中做什么?谢谢。 最佳答案 如果你有1000个作业,如果作业之间没有依赖关系,请编写一个shell脚本并提交它们。如果存在依赖项,请尝试使用克里斯提到的ApacheOozie。 关于hadoop-这是从命令行启动had

jar - 在不创建 jar 文件的情况下运行 hadoop 作业

我写了一个简单的hadoop作业。现在我想在不创建jar文件的情况下运行它,而不是在网上找到很多教程。我是从运行hadoop(2.0.0+91)的clouderaCHD4发行版的ubuntu平台上的shell脚本调用它的。我无法创建作业的jar文件,因为它依赖于其他几个第三方jar和配置文件,这些文件已经集中部署在我的机器上,并且在创建jar时无法访问。因此,我正在寻找一种可以包含这些自定义jar文件和配置文件的方法。我也不能使用-libjars和DistributedCache选项,因为它们只影响map/reduce阶段,但我的驱动程序类也在使用这些jar和配置文件。我的工作使用多个

hadoop - 在命令行上通过 Hadoop 作业客户端提交 Hadoop 作业

我一直在尝试查找有关如何通过命令行提交hadoop作业的信息。我知道命令-hadoopjarjar-file主类输入输出还有另一个命令,我正在尝试查找有关它的信息,但未能找到-hadoopjob-submitjob-file什么是“作业文件”,如何创建?命令(a.)和(b.)之间的基本区别是什么?哪个更好?提前致谢。 最佳答案 这是运行wordcountMap-reduce作业的作业文件示例。同样,您可以为Map-Reduce作业编写作业文件。mapred.input.dir=data/file1.txtmapred.output.

python - Distcp 与 Hadoop 流作业

我将大致分为两部分完成的工作:我有大量数据(总计约1TB,分为数百个文件),我正在通过distcp从S3复制到HDFS该数据将由hadoop流作业(一个简单的映射器和缩减器,用python编写)处理现在,我必须等到所有数据都复制到HDFS之后,我才能开始我的实际工作。问题是:考虑到DISTCP本身就是一个map-reduce作业,有没有一种方法可以“流线化”这两个作业,即第二个作业是否可以开始处理具有已经被复制(例如distcp已经复制了一些文件,第二个作业在技术上已经可以开始了)?我希望我已经说清楚了。 最佳答案 您可以使用S3I

java - 如何对 hadoop mapreduce 作业的键使用相似度算法

我需要实现以下问题:我正在获取类型的数据publicclassData{privateStringkey;privateStringvalueData;}我需要编写一个mapreduce作业来获取所有unique键,每个键都有一个(随机)valueData。对于hadoop来说听起来很简单,是的,我知道如何实现它。但真正的问题是,我还需要减少所有“similar”键。并且输出应该是与dataValue之一相似的key之一在hadoop中实现它的最佳方式(以及如何)是什么?我还希望能够灵活地更改相似度算法。 最佳答案 看看MinHas

hadoop - 如何指定 Hadoop MapReduce 作业生成的目录的权限?

当我运行HadoopMapReduce作业时,生成的所有目录都使用“rwxr_xr_x”作为权限。我想将它们更改为“rwxrwxrwx”,该怎么做? 最佳答案 您可以使用hadoopfs-chmod777your/directory在事后更改它。或者在运行作业之前创建目录,并相应地设置它们的权限。您还可以设置dfs.umask值,该值将管理创建目录时使用的权限。参见http://hadoop.apache.org/docs/r0.20.2/hdfs_permissions_guide.html

java - 从另一个 Java 文件动态编译和运行 Hadoop 作业

我正在尝试编写一个Java文件来接收MapReduce作业的源代码,对其进行动态编译并在Hadoop集群上运行该作业。为此,我编写了3个方法,分别称为compile()、makeJAR()和run_Hadoop_Job()。JAR文件的编译和创建一切正常。然而,当作业提交到Hadoop时,一旦作业开始,它就会面临查找所需的Mapper/Reducer类的问题,并为Mapper_Class和Reducer_Class*(java.lang.ClassNotFoundException:reza.rCloud.Mapper_Reducer_Classes$Mapper_Class.clas

hadoop - 什么时候应该关闭 MapReduce 作业中的 HTablePool?

我正在尝试使用HTablePool来减少HTable实例的创建。但是,我不知道应该将HTablePool.close()放在我的映射器/缩减器中的什么地方。应用运行时,会调用多个mappers、reducer,可以运行在多台机器上。为了获得最佳性能,我认为每台机器应该有一个HTablePool并且close()调用应该延迟到整个应用程序关闭。但是我们如何告诉这些机器关闭它们的池?欢迎任何建议! 最佳答案 在Map/Reduce作业的上下文中,我认为使用HTablePool不会给您带来显着的改进。HTablePool带给你的是:线程安